﻿using System.Collections.Generic;
using System.Linq;
namespace RWLib
{
    public class Scenario
    {
        public List<List<Action>> _actions;

        private SortedDictionary<int, List<StatementBase>> _actionsTimeline;

        private SortedDictionary<int, List<string>> _actionsNamesTimeline;

        public List<Fluent> _initialFluents;

        public Formula _initialFormula;

        public int maxTime;

        public SortedDictionary<int, List<string>> ActionsNames
        {
            get { return _actionsNamesTimeline; }
        }

        public SortedDictionary<int, List<StatementBase>> Actions {
            get { return _actionsTimeline; }
        }

        public Scenario(List<List<Action>> actions, List<Fluent> initialFluents)
        {
            _actions = actions;
            _initialFluents = initialFluents;
        }

        public Scenario(SortedDictionary<int, List<StatementBase>> actions, List<Fluent> initialFluents)
        {
            _actionsTimeline = actions;
            _initialFluents = initialFluents;
            maxTime = actions.Keys.Max();
        }        

        public Scenario(SortedDictionary<int, List<string>> actionsNames, List<Fluent> initialFluents)
        {
            _actionsNamesTimeline= actionsNames;
            _initialFluents = initialFluents;
            maxTime=actionsNames.Keys.Max();
        }
    }
}
